:root{
	--hp:10%;
	--mp:10%;
	--exp:10%;
	--animate-delay: 0s !important;
}
.loginbox,.passwordbox{
	display: none;
	width: 200px;
	margin:0 auto;
	margin-top: 45vh;
}
.loginbox{
	display: block;
}
.loginbox input,.loginbox button{
	border: 1px solid black;
	padding: .5em;
	font-size: 18px;
	width: 198px;
}
.loginbox button{
	width: 80px;
	float: right;
	margin-top: 6vh;
}
.loginbox button:hover,.loginbox button:active{
	color: white;
	background: black;
}

.passwordbox{
	margin-top: 4vh;
}
.passwordbox div{
	font-size: 18px;
	margin-bottom: 4vh;
}
.passwordbox ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.passwordbox ul li{
	border: 0;
	width: 50px;
	height: 50px;
	background-size: cover;
}

.select{
	box-shadow: 0px 0px 6px red;
}

.menuscreen{
	/* display: none; */
	width: 80vw;
	height: 60vh;
	margin: 0 auto;
	position: relative;
	top: -50%;
	transform: translateY(40%);
}
.menuscreen .top_row{
	display: flex;
	height: 30px;
	line-height: 30px;
	font-size: 18px;
	margin-bottom: 20px;
}
.menuscreen .top_row .playername::before{
	content: 'Name:';
}
.menuscreen .top_row .scores::before{
	content: 'Scores:';
}
.menuscreen .top_row .playername{
	flex: 1.5;
}
.menuscreen .top_row .scores{
	flex: 1;
}
.menuscreen .middle_col{
	width: 100%;
	height: 40vh;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.menuscreen .middle_col button{
	width: 100px;
	height: 30px;
	flex: 1;
	margin: 20px auto;
	font-size: 18px;
}
.menuscreen .right_col{
	position: absolute;
	top: 30px;
	right: 0;
}

.choice{
	display: none;
	width: 100%;
	height: 80vh;
	flex-direction: column;
}
.choice .select{
	box-shadow: 0px 0px 10px red;
}
.choice .main_row{
	flex: 3;
	display: flex;
}
.choice .main_row .detail{
	flex: 4;
	padding-top: 45px;
    padding-left: 45px;
}
.choice .main_row .detail .name{
	font-size: 36px;
}
.choice .main_row .detail .desc{
	font-size: 22px;
	margin-top: 20px;
}
.choice .main_row button {
    flex: 1;
    margin: auto 20px;
    width: 20px;
    height: 200px;
    font-size: 28px;
}
.choice .bottom_row{
	flex: 1;
}
.choice .bottom_row ul{
	display: flex;
	list-style: none;
    justify-content: space-between;
    width: 80vw;
    margin: 0 auto;
}
.choice .bottom_row ul li {
	border: 0;
	width: 64px;
	height: 64px;
	background-size: cover !important;
}
.handBook{
	display: none;
}
.setMenu{
	display: none;
}
.gameScreen{
	display: none;
	width: 100vw;
	height: 100vh;
	background-color: blanchedalmond;
	border-top: 1px solid transparent;
}
.gameScreen .map,
.battleScreen,
.areaScreen{
	width: 360px;
	height: 360px;
	margin: 0 auto;
	background-color: burlywood;
}
.battleScreen,
.areaScreen{
	position: absolute;
    left: 50%;
    top: 307px;
    transform: translateX(-50%);
}
.battleScreen{
	z-index: 2;
}
.battleScreen .left,
.battleScreen .right{
	position: absolute;
    width: 50%;
    height: 100%;
}
.battleScreen .result{
	position: absolute;
    top: 300px;
    width: 100%;
    height: 60px;
	text-align: center;
	z-index: 3;
}
.battleScreen .result button{
	width: 40%;
	height: 80%;
	font-size: 24px;
	margin: 0 10px;
}
.battleScreen .left div,
.battleScreen .right div{
	background-repeat: no-repeat;
	background-position: 70% 50%;
    width: 100%;
    height: 60px;
}
.battleScreen .right div{
	background-position: 30% 50%;
}
.battleScreen .left{
	text-align: right;
}
.battleScreen .right{
	right: 0;
}
.battleScreen .monsterArea,
.battleScreen .petArea{
	position: absolute;
    text-align: right
}
.areaScreen{
	flex-wrap: wrap;
}
.areaScreen div,
.areaScreen button{
	width: 60px;
	height: 60px;
}
.areaScreen div{
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
}
.gameScreen .map ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.gameScreen .map ul li{
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	background-repeat: no-repeat;
	background-position-x: center;
	background-position-y: center;
	opacity: 0;
}
/* .gameScreen .map ul li */
.curpos{
	background-image: url("icon/footprint.png") !important;
}
.gone,
.unactive{
	opacity: .3 !important;
}
.hints{
	box-shadow: 0px 0px 6px green;
	opacity: 1 !important;
}
.gameScreen .info table {
	width: 320px;
    margin: 0 auto;
}
.gameScreen .info table th div{
	position: relative;
	width: 100%;
    height: 20px;
    border-radius: 15px;
    border: 2px solid black;
	font-family: monospace;
	line-height: 20px;
    text-align: end;
	box-sizing: border-box;
	margin-top: 2px;
}
.gameScreen .info table th div::before{
	content: "";
    position: absolute;
	left: 0;
    height: 16px;
    border-radius: 15px;
	z-index: 0;
	opacity: .7;
}
.gameScreen .info table th .hpbar::before{
	width: var(--hp);
	background-color: red;
}
.gameScreen .info table th .mpbar::before{
	width: var(--mp);
	background-color: blue;
}
.gameScreen .info table th .expbar::before{
	width: var(--exp);
	background-color: green;
}
.gameScreen .info table th span:last-child{
	width: 100%;
    height: 64px;
    background-color: rosybrown;
    display: block;
	overflow: scroll;
}
.gameScreen .info table tr{
	height: 40px;
}
.gameScreen .info table tr:nth-child(1){
	height: 27px;
}
.gameScreen .info table tr td{
	width: 40px;
	height: 40px;
	background-size: 100%;
}
.gameScreen .info table tr td[id]{
	font-size: 20px;
	font-family: monospace;
    text-align: center;
    vertical-align: middle;
}